docs: sync AGENTS.md files against post-#141 codebase - #142
Conversation
Two files drifted when the separation backend landed in #141 (which updated CLAUDE.md but not the per-app AGENTS.md overlays) and when patchSmith landed in #130. apps/backend/AGENTS.md: - Add separation_backend.py entry (selectable Demucs ↔ MSST backend) - Add separation_ab.py entry (research-only A/B harness) - Add tests/test_separation_backend.py entry - Add msst_separate_runner.py and ab_separation_backends.py to the Operator and Research Scripts section apps/ui/AGENTS.md: - Add patchSmith.ts entry (Phase 3 Vital preset generation service) No code changes; CLAUDE.md was already complete after #141. https://claude.ai/code/session_011v17uVcfV8rM9EQpRn72Ra
slittycode
left a comment
There was a problem hiding this comment.
Verdict: APPROVE
Summary
Docs-only sync of two per-app AGENTS.md files against code that landed in #130 and #141. Six new entries total across apps/backend/AGENTS.md (separation backend, A/B harness, test module, two script entries) and apps/ui/AGENTS.md (patchSmith service). All referenced files exist, descriptions are accurate against the codebase, and the "research-only / off-the-product-path" claims hold (separation_ab.py is only imported by scripts/ab_separation_backends.py; patchSmith.ts is correctly described as surfaced through PatchSmithPanel.tsx).
Findings
None.
Test results
N/A — no code changes.
Phase boundary check
Clean.
Generated by Claude Code
slittycode
left a comment
There was a problem hiding this comment.
Verdict: COMMENT
Summary
Docs-only sync of two AGENTS.md files against post-#141 state. All 6 new entries are for real files that exist. Five of the six descriptions are accurate. One is not.
Findings
Should fix — apps/ui/AGENTS.md, patchSmith.ts entry:
builds a
.vitalpreset JSON from Phase 1 measurements and Phase 2 recommendations
This is wrong. buildPatch(phase1: Phase1Result, ...) is the sole export surface and it only accepts Phase 1. There is no import of any Phase 2 type and no reference to Phase2Result, AbletonRecommendation, or anything from the interpretation layer. The module docstring explicitly says "derived from Phase 1 synthesis measurements." Saying "Phase 2 recommendations" mischaracterizes where the numbers come from — which matters because chain-of-custody is a core invariant of this project and AGENTS.md is read by agents making changes.
Correct description:
src/services/patchSmith.ts: Phase 3 Vital preset generation — builds a.vitalpreset JSON from Phase 1 measurements alone, with every parameter citing the exact Phase 1 field(s) that justify it. Surfaced incomponents/PatchSmithPanel.tsx.
Test results
4/4 CI checks green (Backend, Frontend, Loudness WASM, Chromatic). No test impact — docs only.
Phase boundary check
Clean. No code changes.
Generated by Claude Code
The initial entry incorrectly said the preset builder uses Phase 2 recommendations. patchSmith.ts imports only Phase1Result — every parameter cites a Phase 1 field per PURPOSE.md invariant #2. Correct the description to reflect that. Caught by review on PR #142. https://claude.ai/code/session_011v17uVcfV8rM9EQpRn72Ra
$(cat <<'EOF'
Summary
apps/backend/AGENTS.md: missing 5 entries from the pluggable separation backend (feat(backend): pluggable stem-separation backend (Demucs ↔ MSST/BS-RoFormer) #141), which updated CLAUDE.md but not the backend overlayapps/ui/AGENTS.md: missingpatchSmith.tsfrom the File Map, which landed in WS4: patchSmith — downloadable Vital (.vital) presets with cited parameters #130Changes
apps/backend/AGENTS.md— 5 new entries:separation_backend.py(selectable Demucs ↔ MSST stem-separation backend)separation_ab.py(research-only A/B harness, paired with above)tests/test_separation_backend.py(unit coverage for the above)msst_separate_runner.pyin the Operator and Research Scripts sectionab_separation_backends.pyin the Operator and Research Scripts sectionapps/ui/AGENTS.md— 1 new entry:patchSmith.ts(Phase 3 Vital preset generation service)What was checked
Audited top-level files,
apps/backend/*.py(46 files),apps/ui/src/services/*.ts,apps/ui/src/utils/,apps/ui/src/hooks/,apps/ui/src/types/,apps/ui/src/data/,scripts/,docs/,docs/adr/,docs/history/,audits/,incorporations/— all against the claims in CLAUDE.md, apps/backend/AGENTS.md, apps/ui/AGENTS.md, GOAL.md, and NEEDS.md. CLAUDE.md was already fully up to date after #141.Test plan
https://claude.ai/code/session_011v17uVcfV8rM9EQpRn72Ra
EOF
)
Generated by Claude Code